﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Jess verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
Public Class KOJess
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "JESS"
        Armee = Armeen.GE.ToString
        Musik = "Jess"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                OffensivStaerke = New FeuerkrafttabelleCustomSeeOffLuftOff(100, 100, 110)
            Case Else
                OffensivStaerke = New FeuerkrafttabellePanzer110
        End Select

        Bewegungsbonus = Nothing
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Function GetBaublockade(ByVal Spieler As Integer) As Baublockade
        Return New Baublockade(Baublockade.BauBlockade.Ground, Spieler)
    End Function

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars2
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("JESSGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer130
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_1
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("JESSGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer150
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_1
                GabeEingesetzt()
            Case Else
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("JESSGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer120
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_1
                GabeEingesetzt()
        End Select

    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectRation)
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectRation)
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("JESSGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer130
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_1
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer150
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_2
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleJessPanzer170
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_2
                GabeEingesetzt()
            Case Else
                If OhneFunktion = False Then
                    VollRation()
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabellePanzer130
                Bewegungsbonus = New BewegungsboniTabelleFern_Panzer_2
                GabeEingesetzt()
        End Select

    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungJess
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Jess"
        Fein = "Loewenzahn"
        Nein = "Unfaehige KOs"
        Beschreibung = New String() {"Zackige Panzerfahrender KO, die", "Information zusammentraegt.", "Streitet oft mit Eagle."}
        Stil = New String() {"Ihre Panzer sind staerker, aber", "ihre See- und Luftwaffe ist schwach."}
        Gabebeschreibung = New String() {"Ihre Truppen erhalten Ration und ihre", "Panzer sind staerker und koennen", "1 Feld weiterziehen."}
        SpezialgabeBeschreibung = New String() {"Ihre Truppen erhalten Ration und ihre", "Panzer sind viel staerker und koennen", "2 Felder weiterziehen."}
        GabeKosten = 3
        Spezialgabekosten = 3
        Gaben = New String() {"Turbo-Lader", "Overdrive"}
        Synergie = New Decimal() {1, 1, 0.5#, 0.5#, -1, -1, 0.5#}
        KONamen = New String() {"JAVIER", "JAKE", "EAGLE", "DRAKE", "MAVERIK", "VON BOLT", "PETER"}
        Doppelgabenamen = New String() {"Panzerfahrt", "Schwerer Angriff", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Schlachten sollte man nie leicht nehmen. Ich gebe immer 100 Prozent! Immer!" _
                                  , "Ich werde diese Chance nicht verpassen." _
                                  , "Schwaeche hat auf dem Schlachtfeld nichts zu suchen." _
                                  , "Das ist meine Chance..." _
                                  , "Zeit den Tisch umzudrehen!" _
                                  , "Ich habe auf diesen Moment gewartet."}
        Siegsaetze = New String() {"Dieser Kampf ergaenzen meine taktischen Nachforschungen..." _
                                , "Sieht aus als haette ich einen weiteren Tag ueberlebt." _
                                , "Wir haben es geschafft... Ich bin froh das es vorbei ist."}
        Tauschsaetze = New String() {"Lass uns tauschen. Es ist besser so." _
                                    , "Nur ein weiterer KO? Vermutest du!"}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("JAVIER", "JESS", "Jess lassen uns ihnen zeigen waer staerker ist.", "Meine Panzer sind bereit!") _
                                              , New DoppelGabesatz("JESS", "JAVIER", "Fahrt meine Panzer!", "Als Edelmann ist das meine Aufgabe.") _
                                              , New DoppelGabesatz("JAKE", "JESS", "Wir arbeiten gut zusammen! Nicht wahr Jess?", "Das liegt an den Panzern.") _
                                              , New DoppelGabesatz("JAKE", "JESS", "Wir machen sie platt.", "Diese Worte werden fuer immer in Erinnerung bleiben!")}
        Niederlagesaetze = New String() {"Das sieht schlimm aus...", _
                                        "Es war unasuweichlich unter diesen Bedingungen."}
    End Sub
End Class
